草庐IT

c++ - SIMD C++ 库

全部标签

c - 在 Windows 中拦截库调用的最简单方法是什么?

我想监控/过滤互联网流量。我计划通过拦截在WinSockAPI中发送和接收的调用来做到这一点。修补/拆卸太困难且耗时。dll方法也非常耗时,因为我要修补的只是2个调用,我必须重现整个dll。有没有一种简单的方法来生成重定向dll?或者也许是一种更简单的拦截调用的方法? 最佳答案 反汇编和打补丁并不容易,这就是为什么有DLL注入(inject)和钩子(Hook)可以用来拦截的原因。以下是您开始所需的一切:DLLinjection.ThreeWaystoInjectYourCodeintoAnotherProcess

c - 在 C 中禁用崩溃对话框

我想禁用(在VS2010C程序中)发生GPF时屏幕上弹出的崩溃对话框窗口(您知道xxx.exe停止工作)我在win2008和win7上试过:-SetErrorMode(SetErrorMode(SEM_NOGPFAULTERRORBOX)|SEM_FAILCRITICALERRORS);-try/catch(withSEH,butsomepartsofthecodearen'twrappedin)-SetUnhandledExceptionFilter()没有任何作用...仍然是这个该死的窗口我是不是忘记了什么?唯一有效的是修改寄存器库中的“DontShowUI”键(HKEY_LOCA

c++ - 选择以 libxml2 结尾的行

我尝试在我们的服务器上生成一些xml文件(TMX)。服务器是SolarisSPARC服务器,但文件的目的地是一些遗留的WindowsCAT工具。CAT工具需要CR+LF行结尾,这是Windows上的默认设置。使用xmlWriter用libxml2编写文件很容易,而且效果很好。但我还没有想出一种方法来强制lib发出CR+LF而不是Unix标准LF。该库似乎只支持其运行平台的行尾。是否有人找到了一种方法来生成以另一行结尾而不是其运行平台的默认行结尾的文件。实际上,我的解决方法是打开写入的文件并使用简单的C循环编写一个新文件,更改的行结束。这行得通,但在我们的链中有这样一个不必要的步骤很烦人

c - 终止进程时是否可以删除文件?

我需要编写一个创建文件的WindowsC应用程序,并且在应用程序终止时需要删除该文件(无论是在正常终止还是强制终止的情况下)。另一个要求是用户还应该能够以只读模式打开此文件(可能使用记事本)。基本上这将在Java中读取(即DocumentBuilder::parse)我写了下面的代码HANDLEhFile=CreateFile("d:\\test.xml",GENERIC_WRITE,FILE_SHARE_READ,NULL,CREATE_ALWAYS,FILE_FLAG_DELETE_ON_CLOSE,NULL);当我在Notepad.exe中打开文件(即test.xml)时,我收到

c++ - 如何在 Windows 上用 C 或 C++ 发送 IM

具体来说,我说的是使用AIM并将即时消息发送到现有的AIM屏幕名称。我将如何做到这一点?我正在尝试尽可能以最简单的方式进行操作-效率并不那么重要。我想也许我所要做的就是打开一个套接字连接,但我可能错了。 最佳答案 我会使用libpurple.它是一个多平台C库,支持许多IM服务,包括AIM。 关于c++-如何在Windows上用C或C++发送IM,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/que

c - 如何判断一个so文件是否已经加载?

我有两个共享库:a.so和b.so。a.so必须在b.so加载之前加载。而且,a.so可能会被其他模块加载,而不是由我加载。因此,我想在调用dlopen("b.so",...)之前确定a.so是否已经加载。在Windows下,我可以使用GetModuleHandle("a.dll")通过检查返回值来确定它。即如果返回值不为null则说明a.dll已加载;否则它还没有加载。Linux下有类似GetModuleHandle的函数吗? 最佳答案 您实际上可以使用dlopen使用RTLD_NOLOAD标志进行检查:Don'tloadthel

c - 什么时候应该使用 VS2015 平台工具集 V140_XP?

我想从VS2010切换到VS2015,但关于V140_XP的文档对我来说不是很清楚。我有两个问题:我使用静态库(/MT)。所以我不需要vcruntime140.dll或任何其他以前的运行时库。我是否应该将平台工具集设置为V140_XP以在WindowsXP中运行我的应用程序?如果我不将平台工具集设置为XP,我的应用程序能否在Windows7及更高版本上正常运行? 最佳答案 如果您的目标是WindowsXP机器(在新的应用程序中您不应该这样做),您只需要v140_XP工具集。v140工具集支持所有更高版本的Windows(Vista及

c++ - 你如何为 x64 编译静态 pthread-win32 库?

看起来已经做了一些工作来制作pthread-win32使用x64,但没有构建说明。我曾尝试使用VisualStudiox64交叉工具命令提示进行简单构建,但是当我尝试从x64应用程序链接到lib时,它看不到任何函数导出。它似乎仍在将lib编译为x86或其他东西。我什至尝试过将/MACHINE添加到makefile的适当位置,但没有帮助。有人让这个工作吗? 最佳答案 您可以使用vcpkghere.这是C++的Windows包管理器。它支持pthread构建以及其他开源库。我想使用静态pthread库。当我下载pthread时,我得到了

c++ - 识别文件 (dll/exe) 是否被进程或库锁定

我打算编写一个示例程序来识别某个进程锁定/使用的文件(dll文件)。我们如何使用WINAPI(C/C++函数)以编程方式实现这一点?实际上,当我们执行某些软件升级过程时,其他一些过程可能正在使用该库,这将使升级操作暂时失败。我想在这里举的最好的例子是Unlocker工具,它列出了所有使用特定文件的进程/dll。 最佳答案 您可以尝试自己打开文件以获得独占访问权限。如果任何其他进程打开了它们,这应该会失败。 关于c++-识别文件(dll/exe)是否被进程或库锁定,我们在StackOver

c++ - Windows 中的网络文件传输

我想使用C或C++通过网络传输文件。我应该查找哪些主题?我该怎么做? 最佳答案 您应该从选择协议(protocol)开始。HTTPS和SFTP都是不错的选择,但显然还有其他选择。一旦弄清楚了,您就可以查找客户端和服务器库的选项。 关于c++-Windows中的网络文件传输,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/2452457/